#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/wait.h>
#include<fcntl.h>
#include<signal.h>

/*
	在使用管道时，当读端全部关闭会产生SIGPIPE信号
*/

//信号处理函数--------内核执行
void sighandler(int num)
{

	printf("num=[%d]\n",num);
}


int main()
{
	//创建管道
	int fd[2];
	int ret = pipe(fd);
	if(ret<0)
	{
		perror("pipe error");
		exit(-1);
	}
	
	//注册SIGPIPE信号处理函数
	signal(SIGPIPE,sighandler);
	
	//关闭读端
	close(fd[0]);
	//写数据
	write(fd[1],"Hello world",strlen("Hello world"));
	return 1;
}
